A Formalization of Metaprogramming for real

نویسندگان

  • Giorgio Levi
  • Davide Ramundo
چکیده

The paper formally shows that the S-semantics is adequate for reasoning about the soundness and completeness of real Prolog metainterpreters, based on the non-ground representation of object-level variables. The paper extends some recent results by De Schreye and Martens, by proving the \equivalence" between the object program and its version metainterpreted by vanilla for any positive logic program. The same construction is applied to obtain a soundness and completeness result for an enhanced metainterpreter deening various inheritance mechanisms on structured logic programs. We then consider the specialization of metainterpreters by means of partial deduction techniques, both in the case of vanilla and of the inheritance metain-terpreter. We prove that success derivations have exactly the same length in the specialized program and in the \corresponding" object-level program.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Implementing monads for C++ template metaprograms

C++ template metaprogramming is used in various application areas, such as expression templates, static interface checking, active libraries, etc. Its recognized similarities to pure functional programming languages – like Haskell – make the adoption of advanced functional techniques possible. Such a technique is using monads, programming structures representing computations. Using them actions...

متن کامل

Generalized Arrows

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission....

متن کامل

Implementing Monads for C + + Template Metaprograms ∗ Technical report TR -

C++ template metaprogramming is used in various application areas, such as expression templates, static interface checking, active libraries, etc. Its recognized similarities to pure functional programming languages – like Haskell – make the adoption of advanced functional techniques possible. Such a technique is using monads, programming structures representing computations. Using them actions...

متن کامل

Mapping Sequence diagram in Fuzzy UML to Fuzzy Petri Net

This ability in fuzzy UML, practically leaves the customers and market’s need without response in this important and vital area. Here, the available sequence diagrams in fuzzy UML will map into fuzzy Petri net. However, the formal models ability will be added to the Semi-formal fuzzy UML. This formalization will add the automatic processing ability to the Semi-formal fuzzy UML. Further more, t...

متن کامل

Generative Programming and Components:

This paper investigates on the possible advantages of applying generative programming in a component based development process: if a component oriented approach is applied, then generative programming can be used to automatically compose and assemble components. In part one of this paper, I present the application of Generative Programming from an engineering point of view, using a simple but c...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1993